import { defineStore } from 'pinia';
import { ref } from 'vue';

// 定义 store
export const useInfoStore = defineStore(
  'user',
  () => {
    const userInfo = ref(); // 存储用户信息的响应式变量

    // 方法：设置用户信息
    const setUserInfo = (val) => {
      userInfo.value = val;
    };

    // 方法：获取用户信息
    const getuserInfo = () => {
      return userInfo.value;
    };

    // 方法：清除用户信息（退出登录时调用）
    const clearUserInfo = () => {
      userInfo.value = undefined;
    };

    // 返回 store 中的状态和方法
    return { userInfo, setUserInfo, getuserInfo, clearUserInfo };
  },
  {
    persist: {
      storage: {
        setItem(key, value) {
          uni.setStorageSync(key, value);
        },
        getItem(key) {
          return uni.getStorageSync(key);
        }
      }
    }
  }
);